﻿using CIS.Common.Entitys;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace CIS.Server.Manager.ProcessProgram
{
    public interface IProcessProgramManager
    {
        #region ProcessProgram 相关
        Task<bool> AddProcessProgramAsync(ProcessProgramEntity entity);
        Task<bool> DeleteProcessProgramAsync(ProcessProgramEntity entity); 
        Task<ProcessProgramEntity> GetProcessProgramByPPIDAsync(string ppid); 
        Task<List<ProcessProgramEntity>> GetProcessProgramsAsync();
        #endregion

        #region PPIDMapping 相关
        Task<bool> AddPPIDMappingAsync(PPIDMappingEntity ppidEntity);
        Task<PPIDMappingEntity> GetPPIDMappingBySourceIdAsync(string sourceId);
        Task<List<PPIDMappingEntity>> GetPPIDMappingsByPPIDAsync(string ppid);
        Task<List<PPIDMappingEntity>> GetPPIDMappingsAsync();
        #endregion

        #region Recipe 相关
        Task<bool> AddRecipeAsync(RecipeEntity entity);
        Task<RecipeEntity> GetRecipeByRecipeNoAsync(int recipeNo);
        Task<List<RecipeEntity>> GetRecipesBySourceIdAsync(string sourceId);
        Task<List<RecipeEntity>> GetAllRecipesAsync();
        #endregion



    }
}
